/**
 * @addtogroup {{ var_filename }}
 * {{ var_filename }}
 * @{
 */
/**
 * @file        {{ var_filename }}.h
 * @brief       XXXX
 * @note        XXXX
 * @author      {{ var_author }}({{ var_email }})
 * @date        {{ var_date }} {{ var_time }}
 * @version     1.0

 * @par         修改日志
 * <table>
 * <tr><th>Date         <th>Version     <th>Author      <th> Description
 * <tr><td>{{ var_date }}   <td>1.0         <td>{{ var_author }}       <td> 创建初始版本
 * @copyright 杭州鸿泉物联网技术股份有限公司
 */

#ifndef _{{ var_filename | upper }}_H_
#define _{{ var_filename | upper }}_H_

#include "ofc/ofc_types.h"

#ifdef __cplusplus
extern "C"
{
#endif


// 获取扩展名的值类型函数类型
// 参数:
//    AChipNo     芯片模块索引号
//    AName       扩展名
//    AExtID      返回扩展名对应的扩展ID, 用于读取和设置扩展值
// 返回值:
//    > 0         获取成功并返回扩展值类型, 参见 ATS_TValType 定义
//    (其它值)    获取失败的返回码, 参见 ATS_TResult 定义
int RteAtServerExtValType(int AChipNo, const char* AName, int* AExtID);

// 读取扩展项的整型值函数类型
// 参数:
//    AChipNo     芯片模块索引号
//    AExtID      扩展ID
//    ARetCode    读取扩展项的返回码, 若为 NULL 则忽略返回码
//                注: 参见 ATS_TResult 定义
// 返回值:
//    (值)        返回指定扩展项的整型值
int RteAtServerExtGetInt(int AChipNo, int AExtID, int* ARetCode);

// 读取扩展项的字符串函数类型
// 参数:
//    AChipNo     芯片模块索引号
//    AExtID      扩展ID
//    ARetCode    读取扩展项的返回码, 若为 NULL 则忽略返回码
//                注: 当返回码小于 0 时为错误码, 参见 ATS_TResult 定义,
//                    否则为返回字符串的字节数
// 返回值:
//    (值)        返回指定扩展项的字符串值
char* RteAtServerExtGetStr(int AChipNo, int AExtID, int* ARetCode);

// 设置扩展项的整型值函数类型
// 参数:
//    AChipNo     芯片模块索引号
//    AExtID      扩展ID
//    AValue      指定扩展项的整型值
// 返回值:
//    rSuccess    设置成功
//    <= 0        设置失败的返回码, 参见 ATS_TResult 定义
int RteAtServerExtSetInt(int AChipNo, int AExtID, int AValue);

// 设置扩展项的字符串函数类型
// 参数:
//    AChipNo     芯片模块索引号
//    AExtID      扩展ID
//    AValue      指定扩展项的字符串值
//    ASize       字符串长度
// 返回值:
//    rSuccess    设置成功
//    <= 0        设置失败的返回码, 参见 ATS_TResult 定义
int RteAtServerExtSetStr(int AChipNo, int AExtID, const char* AValue, int ASize);



#ifdef __cplusplus
}  ///< extern "C"
#endif

#endif  ///< _{{ var_filename | upper }}_H_




